// 自定义，判断是否有某种权限，如果没有，移出某个dom元素
// 元素必须外层要的标签    <div>   <input> </div>
// https://v2.cn.vuejs.org/v2/guide/custom-directive.html
import store from '@/store'

export default {
  inserted(el, binding, vnode) {

    // 当前拥有权限
    const permissions = store.getters && store.getters.permissions

    // 是不是超级管理员
    const isSuperMan =  store.getters && store.getters.isSuperMan

    // 移出dom节点
    if(isSuperMan){
      // 当前节点的父节点，移出父节点下面子节点
      el.parentNode &&  el.parentNode.removeChild(el)
    }else{
      // 如果不是超级管理员，判断商家是不是有权限  v-hasShopPerm="['system:user:add','system:user:query']"
       const { value } = binding

       if( value && value instanceof Array && value.length>0){
         // 查询是否有权限
         const hasPer= permissions.some( p=> {
             return  value.includes(p)
          })

          // 没有权限
          if(!hasPer){
            el.parentNode &&  el.parentNode.removeChild(el)
          }

       }else{
          throw new Error(`请设置操作权限标签值,v-hasShopPerm=['权限']`)
       }
    }

  }
}
